/**
 * 自动任务脚本
 * 定时更新员工列表和初始化同步状态 - 员工客户同步状态表
 * @param {string} runTime 执行同步外部客户的时间，格式：（时:分:秒） 建议设置为自动导入之后30分钟以上
 */
(function (runTime) {
  var applicationId = $.context.getCurrentApplicationId();
  var formName = "员工客户同步状态";
  // 清空表单通讯录
  $.form.deleteAllDocumentsByFormName(applicationId, formName);
  // 获取通讯录人员
  var departmentUsers = $.contact.queryAllUser();
  // 把通讯录人员全部导入到同步状态表，并初始化状态
  for (var i = 0; i < departmentUsers.size(); i++) {
    var item = departmentUsers.get(i);
    var doc = $.form.createEmptyDocument(applicationId, "员工客户同步状态");
    var nowTime = $.date.dateToString($.date.getCurrentDate(), "hh:mm:ss");
    var runDateTimestamp = $.date.getCurrentDate().getTime();
    // 如果当前时间大于传入时间，往后加一天
    if (nowTime > runTime) {
      runDateTimestamp += 864e5;
    }
    var runTimeStr = $.date.dateToString(
      $.date.timestampToDate(runDateTimestamp),
      "yyyy-MM-dd " + runTime
    );
    doc.addElement("员工姓名", item.getName());
    doc.addElement("员工id", item.getWxUserId());
    doc.addElement("同步状态", "1");
    doc.addElement(
      "同步时间",
      $.date.stringToDate(runTimeStr, "yyyy-MM-dd hh:mm:ss").getTime() +
        i * 60000
    );
    $.form.saveFormDocument(doc, applicationId);
  }
})("24:00:00");
